fun main() {
    //使用如下,与Java中调用静态方法和静态成员变量类似
    println(Car.defaultColor)
    println(Car.getType())

    val suv = SUV("红色")

    println("一辆${suv.color}的${suv.type}," + suv.run())
}


/**
 * 在构造函数中可定义类的成员变量
 */
open class Car(var color: String, val type: String) {

    open fun run(): String {
        return "跑"
    }

    //companion同伴
    companion object Property {
        //定义属性
        var defaultColor = "红色"

        //定义方法
        fun getType(): String {
            return "获取类型"
        }
    }
}

//继承
class SUV(color: String, type: String = "SUV") : Car(color, type) {
    override fun run(): String {
        return "可以在沙漠里面跑"
    }
}